using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;

/*
 * Library: RZAnimation2D
 * Author: Erick Folckemer <RetroZelda>
 * Description: A 2D Animation Manager for the RZ 2D game engine.
*/


namespace RZEngine2D
{
    /*
     * Struct: rzFrame
     * Author: Erick Folckemer <RetroZelda>
     * Description: Container for each individual frame 
    */
    public struct rzFrame
    {
        Rectangle rSrcRect;
        List<Rectangle> rColRects;
        Point ptAnchorPoint;
        float fDuration;
        string szEvent;
    };


    /*
     * Class: rzAnimation
     * Author: Erick Folckemer <RetroZelda>
     * Description: Teh class that holds all the frame for each different animation 
    */
    public class rzAnimation
    {
        string szAnimationType;
        List<rzFrame> lFrames;
        bool bLoops;
        int nImageID;

        public int ImageID
        {
            set { nImageID = value; }
        }

        public bool Loops
        {
            set { bLoops = value; }
            get { return bLoops; }
        }

        public string AnimationType
        {
            set { szAnimationType = value; }
            get { return szAnimationType; }
        }

        public int NumFrames
        {
            get { return lFrames.Count; }
        }
        public int GetFrame(int nFrameNumber)
        {
            return -1;
        }

        public void AddFrame(Rectangle srcRect, Point ptAnchor, float fDuration, List<Rectangle> colRects, string szEvent)
        {
        }
        

    }
}
